/**
 * 
 */
package com.gopay.common.constants.bank;

/**
 * @PsbcBankStatus.java
 * @author Ryan
 * @2013-12-4 上午10:06:18 www.gopay.com.cn Inc.All rights reserved.
 */
public enum TccbBankStatus {

	/*******    订单查询状态    ********/
	/** 天津银行 交易处理结果 成功. */
	TRAN_TCCB_DEAL_SUCC("00","交易成功"),
	/** 天津银行 交易处理结果 失败. */
	TRAN_TCCB_DEAL_FAIL("01","交易失败"),
	/**** 撤销成功 ****/
	TRAN_TCCB_DEAL_CANCELED("02","撤销成功"),
	/**** 部分退货****/
	TRAN_TCCB_DEAL_RETURN_PORTION ("03","部分退货"),
	/** 天津银行 交易处理结果 全部退货. */
	TRAN_TCCB_DEAL_RETURN_ALL("04","全部退货"),
	/** 天津银行 交易处理结果 预授权确认成功. */
	TRAN_TCCB_DEAL_AUTHORIZE_COMFIRM("05","预授权确认成功"),
	/** 天津银行 交易处理结果 预授权撤销成功. */
	TRAN_TCCB_DEAL_AUTHORIZE_RETURN("06","预授权撤销成功"),
	/** 天津银行 交易处理结果 超时. */
	TRAN_TCCB_DEAL_TIMEOUT("99","交易超时"),
   
	/**************  交易 ***************/
	TRAN_PROC_STATUS_SUCC("00","交易成功"),	 //交易成功
	TRAN_PROC_STATUS_ACCT_NOT_FOUND("01","账号不存在"),	  //账号不存在
	TRAN_PROC_STATUS_BANLANCE_NOT_ENOUGH( "02","账号余额不足"),	//账号余额不足
	TRAN_PROC_STATUS_INAVILABLE_MERCHANT("03","无效商户"),	 //无效商户
	TRAN_PROC_STATUS_NET_ERROR("06","网络不通"),    	//网络不通
	TRAN_PROC_STATUS_INAVALIABLE_TRADE("12","无效交易"),	//无效交易
	TRAN_PROC_STATUS_INAVALIABLE_AMOUNT("13","无效金额"),	//无效金额
	TRAN_PROC_STATUS_TRADE_EXCEPTION("22","交易异常"),	//交易异常
	TRAN_PROC_STATUS_DATA_FORMAT_ERROR("30","终端上送数据格式错"),	//终端上送数据格式错
	TRAN_PROC_STATUS_FORBIDDEN_TRADE("58","不允许商户进行的交易"),	//不允许商户进行的交易
	TRAN_PROC_STATUS_OVER_AMOUNT("61","用户金额超限"),	//用户金额超限
	TRAN_PROC_STATUS_RETURN_AMOUNT_OVER("62","货金额超限"),	    //退货金额超限
	TRAN_PROC_STATUS_FORBIDDEN_RETURN_MORE("67","不允许多次退货"),	        //不允许多次退货
	TRAN_PROC_STATUS_MRECHANT_STATE_ERROR("77","商户状态错误"),	//商户状态错误
	TRAN_PROC_STATU_ILLEGAL_TRADE("93","违法交易，无法完成"),	//违法交易，无法完成
	TRAN_PROC_STATUS_REPEAT_TRADE("94","重复交易"),	//重复交易
	TRAN_PROC_STATUS_SYSTEM_INNER_ERROR("96","系统内部错误"),	//系统内部错
	TRAN_PROC_STATUS_TIMEOUT_ERROR("98","交易超时，请查询"),	//交易超时，请查询
	TRAN_PROC_STATUS_MERCHANT_SETTING_ERROR("EB","商户机构设置错误");	//商户机构设置错误

	
    private String key;
    public String value;

    TccbBankStatus(String key, String value) {
        this.key=key;
        this.value = value;
    }

    // 普通方法
    public static String getName(String key) {
        for (TccbBankStatus info : TccbBankStatus.values()) {
            if (info.getKey().equals(key)) {
                return info.value;
            }
        }
        return "";
    }

    /**
     * @return the key
     */
    public String getKey() {
        return key;
    }

    /**
     * @param key
     *            the key to set
     */
    public void setKey(String key) {
        this.key = key;
    }

    /**
     * @param value
     *            the value to set
     */
    public void setValue(String value) {
        this.value = value;
    }

}
